/*AyflEomXWyqCHfdTxzWda1e2+xM16UdiCeHmo0c2GDI=*/
/**
 * 工具类集合
 * @author  chenDC
 *
 * 使用说明：
 *
 * import  Utils from '../../../public/utils';
 *
 * 深复制简单实用
 * let new_obj =   Utils.clone(obj);
 *
 * 将保存后返回的数据更新到页面中
 * 调用完方法后，allD为更新后的数据结构对象
 * Utils.filterResult(allD,data[tableid].rows);
 *
 *
 * 表格数查询启用状态值转化
 * 改方法在获取后台数据放置到页面时调用，已经获取页面数据传递给后台时调用
 * let  rows = Utils.convertGridEnablestate(rows);
 *
 * 过来表格删除的行
 * @param  rows 页面表格中行数据的数组
 * Utils.filterDelRows(tableData.rows);
 *
 *
 * 后台返回表格数处理
 * @param   props   prpos参数
 * @param   tableid 表格id
 * @param   data    后台返回数据对象
 * @param   empty   数据为空时执行回调方法
 * @param   notEmpty    数据不为空时执行回调方法
 * @param   after   处理完成后执行回到方法
 * Utils.handleTableReData({
 		data : data,
		tableid : tableid,
		props : this.props,
		empty : (data) => {

		},
		notEmpty : (data)=>{
			data[tableid].rows.forEach(function(item, index, array){
				if (item.values['doclevel'].value === '1') {
					item.values['code'].disabled = 'on';
					item.values['name'].disabled = 'on';
					item.values['mngctlmode'].disabled = 'on';
					item.values['isgrade'].disabled = 'on';
				}
			});

		},
		after : (data)=> {
			allTableData = data[tableid];
			this.updateButtonStatus();
		}
	});
 */

import {filterResult,convertGridEnablestate,filterDelRows,handleTableReData } from './tableUtil';

import BaseUtils from './base.js';
import DateUtils from './base.js';
import {checkHasChildren,dealTreeData, convertTree, treeToArray, expandFirstNode, addVirRootNode} from './treeUtil';
import {checkHasProps, validChain} from './formUtil';
import {arrayEqual, objectEqual, baseTypeEqual, Equals} from './equalUtil';
import {isEmptyObj, isEmptyArr, isEmpty} from './emptyUtil';
import {getImportConfig, ProcessArr, getErrorList, excelImportconfig} from './ExcelInputParamUtil';
import {getrecusionUtil} from './recusionUtil';
import {hasClass, addClass, removeClass} from './classNameUtil';
import {setStorage, getStorage, removeStorage, clearStorage} from './storageUtil';
import {getExplore, getOS, phoneModules, isPhoneDevice, isIpad, openApp, uuid, getDifferHeiByDPI} from './deviceUtil';
import {lunCheck, phoneCheck, urlCheck, isInteger, checkNumber} from './typeRegUtil';
import {parseQueryString, urlHost, urlHostName, urlPost, urlProtocol, fullScreen, exitFullScreen, refreshTip} from './urlUtil';
import {cutStr, smalltoBIG, formatAcuracy, numRandom} from './numberUtil';
import {getYMDHMS, addDate} from './dateUtil';
import {strContains, copyToClipboard, getStrNum, bytesToSize, checkBtnAuthInModule} from './stringUtil';
import {chunk, compact, dedupe, orderBy, union, complement, interset, minus, unique, uniqueByObj, indexof, removeEle,
		removeObj, moveByIndex} from './arrayUtil';
import {objMerge} from './objectUtil';
import deepClone from './deepClone';
import {  isFunction,isUndefined,isArray,isString,isObject, isNumber} from "./typeCheck";
import getAttachments from "./getAttachments";
import getAttachmentsInfo from "./getAttachmentsInfo";
import {ctmsCheckClickCanUsed,ctmsCheckAppEnvIsProduct} from "./ctmsUtils";
import {add, sub, mul, div} from "./calc";
import {defineCustomerItem} from "./metaUtils";
var Utils = {
  filterResult,
  convertGridEnablestate,
  filterDelRows,
  handleTableReData,
  checkHasChildren,
	checkHasProps,
	validChain,
	getImportConfig,
	getrecusionUtil,
	dealTreeData,
	arrayEqual,
	isEmptyObj,
	isEmptyArr,
	isEmpty,
	hasClass,
	addClass,
	removeClass,
	setStorage,
	getStorage,
	removeStorage,
	clearStorage,
	getExplore,
	getOS,
	phoneModules,
	isPhoneDevice,
	isIpad,
	openApp,
	lunCheck,
	phoneCheck,
	urlCheck,
	parseQueryString,
	urlHost,
	urlHostName,
	urlPost,
	urlProtocol,
	cutStr,
	checkNumber,
	getYMDHMS,
	addDate,
	strContains,
	compact,
	copyToClipboard,
	dedupe,
	fullScreen,
	exitFullScreen,
	refreshTip,
	convertTree,
	smalltoBIG,
	formatAcuracy,
	isInteger,
	objectEqual,
	baseTypeEqual,
	orderBy,
	union,
	chunk,
	complement,
	interset,
	minus,
	unique,
	uniqueByObj,
	indexof,
	removeEle,
	removeObj,
	moveByIndex,
	treeToArray,
	expandFirstNode,
	addVirRootNode,
	objMerge: objMerge,
	getStrNum,
	bytesToSize,
	checkBtnAuthInModule,
	ProcessArr,
	getErrorList,
	excelImportconfig,
	uuid: uuid,
	getDifferHeiByDPI,
	deepClone,
	isFunction,
  isUndefined,
  isArray,
  isString,
	isObject,
	isNumber,
	getAttachments,
	getAttachmentsInfo,
	ctmsCheckClickCanUsed,
	ctmsCheckAppEnvIsProduct,
	add,
	sub,
	mul,
	div,
	numRandom,
	defineCustomerItem,
	Equals
};

export default Utils;
export {BaseUtils};
export {DateUtils}


/*AyflEomXWyqCHfdTxzWda1e2+xM16UdiCeHmo0c2GDI=*/
